////	Notes2Body macro

//	Put every and each note text into body text
//	with customisable footnote tag

//===Define footnote tag===//
fnstart="{{"; fnend="}}"
//fnstart="\footnote{"; fnend="}"
//fnstart="<fn>"; fnend="</fn>"

fnoffset=length(fnend)
ns=NumToChar(28); d=0
CurClip=Nisus[CurrentClipboardNum]
WorkClip=(CurClip+9)%10
FnSymClip=(CurClip+8)%10
Nisus[CurrentClipboardNum]=FnSymClip
clipboard=fnstart+fnend
Nisus[CurrentClipboardNum]=WorkClip

SelectWithRuler=TRUE
Display:Document
ss=SelectStart; se=SelectEnd
SetSelect (0,EndCharNum)
MacroCopy
SetSelect(ss,se)
New
SetSelect (0,EndCharNum)
MacroPaste
SetSelect (0,EndCharNum)
Update Time & Date
Variables to Text
Keep on Same Line "Off"
Keep on Same Page "Off"
Clipboard=ns
Find in Selection '\CC' "o-St-g"
if(!NumFound) goto NoNote
b->push(StartEnds)
SelectWithRuler=FALSE

//===Define footnote tag style===//
Courier
Color:Blue
Plain Text "On"
Superscript "Off"

Display:Footnotes/Endnotes
if(error) goto NoNote
SetSelect (0,EndCharNum)
MacroCopy
Display:Document
ecn=EndCharNum
SetSelect(ecn,ecn)
Replace with "\f" "oO-Sg"
SetSelect(ecn+1,ecn+1)
MacroPaste

SetSelect (ecn+1,EndCharNum)
Clipboard = "[\s\t\r]*"+ns+"[\s\t\r]*"
Find in Selection '\CC' "o-Stg"
if(!NumFound) goto NoNote
//Reverse Selection by Philip Spaelti
SetSelectMore(SelectStart,SelectEnd)
SetSelectMore(ecn+1,EndCharNum)
n->push(StartEnds)
if (b->size != n->size) goto DiffNum

ecn=EndCharNum
loop:
d=EndCharNum-ecn
SetSelect (n->pop+d,n->pop+d)
MacroCopy
SetSelect (b->pop,b->pop)
Nisus[CurrentClipboardNum]=FnSymClip
MacroPaste
Nisus[CurrentClipboardNum]=WorkClip
SetSelect(SelectEnd-fnoffset,SelectEnd-fnoffset)
MacroPaste
if(b->size) goto loop

SetSelect(EndCharNum, EndCharNum)
Find Next "\f" "o-Stgr"
SetSelect(SelectStart,EndCharNum)
Clear
goto Finish


NoNote:
:1 "No note found!"
goto Finish

DiffNum:
:1 "Exit because note number is not the same..."

Finish:
Nisus[CurrentClipboardNum]=WorkClip
clipboard=""
Nisus[CurrentClipboardNum]=FnSymClip
clipboard=""
Nisus[CurrentClipboardNum]=CurClip
exit

// end of macro

////	Fix Variables & Remove Keep on ...


Next=""; n=0

Display:Footnotes/Endnotes
if(error) goto HFWin
Next="HFWin"; goto operation

HFWin:
Display:Headers/Footers
if(error) goto DocWin
Next="DocWin"; goto operation

DocWin:
Display:Document
Next="Done"; goto operation

operation:
SetSelect (0,EndCharNum)
Update Time & Date
Variables to Text
Keep on Same Line "Off"
Keep on Same Page "Off"
SetSelect (0,0)

if(Next=="HFWin") goto HFWin
if(Next=="DocWin") goto DocWin
exit

// end of macro

//// Jaghbub combining chars to precomposed


//Convert pairs of composing character and base character
//into precomposed characters as far as possible

//Remaining composing characters will be converted
//into &#xhhhh; placed after base character

//This macro will save the original document file
//as filename_ccj which will be processed.
//So the original will not be altered.

Nisus[CurrentClipboardNum]=(Nisus[CurrentClipboardNum]+9)%10
newname=left(DocName,27)+"_ccj"
folderpath=left(DocPath,length(DocPath)-length(DocName))
clipboard=folderpath+newname
Save As '\CC'
clipboard=""
Nisus[CurrentClipboardNum]=(Nisus[CurrentClipboardNum]+1)%10
Next=""; n=0

Display:Footnotes/Endnotes
if(error) goto HFWin
Next="HFWin"; goto operation

HFWin:
Display:Headers/Footers
if(error) goto DocWin
Next="DocWin"; goto operation

DocWin:
Display:Document
Next="Done"; goto operation

operation:
SetSelect (0,EndCharNum)
//The command below is font sensitive.
//Be careful when modifying it.
Find in Selection ":.+|:.+|:.+|:.+|:.+|:.+|:.+|:.+|:.+|:.+" "g-ot"
if(!NumFound) goto NoJaghbub
s->push(StartEnds)
loop:
SetSelect(s->pop,s->pop)
Find/Replace "[]A" "" "oO-itgs"
Find/Replace "[]E" "" "oO-itgs"
Find/Replace "[]I" "" "oO-itgs"
Find/Replace "[]O" "" "oO-itgs"
Find/Replace "[]U" "" "oO-itgs"
find/replace "[]a" "" "oO-itgs"
find/replace "[]e" "" "oO-itgs"
find/replace "[]i" "" "oO-itgs"
find/replace "[]o" "" "oO-itgs"
find/replace "[]u" "" "oO-itgs"
Find/Replace "[]A" "" "oO-itgs"
Find/Replace "[]E" "" "oO-itgs"
Find/Replace "[]I" "" "oO-itgs"
Find/Replace "[]O" "" "oO-itgs"
Find/Replace "[]U" "" "oO-itgs"
find/replace "[]a" "" "oO-itgs"
find/replace "[]e" "" "oO-itgs"
find/replace "[]i" "" "oO-itgs"
find/replace "[]o" "" "oO-itgs"
find/replace "[]u" "" "oO-itgs"
Find/Replace "[]A" "" "oO-itgs"
Find/Replace "[]E" "" "oO-itgs"
Find/Replace "[]I" "" "oO-itgs"
Find/Replace "[]O" "" "oO-itgs"
Find/Replace "[]U" "" "oO-itgs"
Find/Replace "[]a" "" "oO-itgs"
Find/Replace "[]e" "" "oO-itgs"
Find/Replace "[]i" "" "oO-itgs"
Find/Replace "[]o" "" "oO-itgs"
Find/Replace "[]u" "" "oO-itgs"
Find/Replace "[]C" "" "oO-itgs"
Find/Replace "[]c" "" "oO-itgs"
Find/Replace "[]I" "" "oO-itgs"
Find/Replace "[]" "i" "oO-itgs"
Find/Replace "[]G" "" "oO-itgs"
Find/Replace "[]g" "" "oO-itgs"
Find/Replace "D" "" "oO-itgs"
Find/Replace "H" "" "oO-itgs"
Find/Replace "S" "" "oO-itgs"
Find/Replace "T" "" "oO-itgs"
Find/Replace "Z" "" "oO-itgs"
Find/Replace "d" "" "oO-itgs"
Find/Replace "h" "" "oO-itgs"
Find/Replace "s" "" "oO-itgs"
Find/Replace "t" "" "oO-itgs"
Find/Replace "z" "" "oO-itgs"
Find/Replace "D" "" "oO-itgs"
Find/Replace "T" "" "oO-itgs"
Find/Replace "d" "" "oO-itgs"
Find/Replace "t" "" "oO-itgs"
Find/Replace "\([]+\)\([^\s\t]\)" "\2\1" "oO-itgs"
Find/Replace "[]" "\&#x0301;" "oO-itgs"
Find/Replace "[]" "\&#x0300;" "oO-itgs"
Find/Replace "[]" "\&#x0304;" "oO-itgs"
Find/Replace "[]" "\&#x0327;" "oO-itgs"
Find/Replace "[]" "\&#x0307;" "oO-itgs"
Find/Replace "" "\&#x0323;" "oO-itgs"
Find/Replace "" "\&#x0331;" "oO-itgs"
Find/Replace "" "\&#x0324;" "oO-itgs"
if(s->size%70) goto Skip
Clear Memory
Skip:
if(s->size) goto loop
NoJaghbub:
SetSelect (0,0)

if(Next=="HFWin") goto HFWin
if(Next=="DocWin") goto DocWin

Save
exit

// end of macro

